package cn.lyn4ever.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * (Orders)表实体类
 *
 * @author lyn4ever
 * @since 2020-04-16 23:51:39
 */
@SuppressWarnings("serial")
@Data
@ToString
public class Orders extends Model<Orders> {

    /**
     * 流水号，设计这个主要是为了做分库分表
     */
    @TableId(type = IdType.INPUT)
    private String lsh;

    /**
     * 用户id
     */
    private Integer userid;

    /**
     * 店铺id
     */
    private Integer storeid;

    /**
     * 总金额
     */
    private Double price;

    /**
     * 实付价
     */
    private Double money;

    /**
     * 优惠内容 用,分隔
     */
    private String reduces;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 付款时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /**
     * 发货时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deliverTime;

    /**
     * 用户备注
     */
    private String yhbz;

    /**
     * 物流的id
     * 物流单号(这个是唯一的)
     */
    private String deliverid;

    /**
     * 收获地址
     */
    private String address;

    /**
     * 0 1 2 3 4  5  6待付款,待发货,待收货,待评价,售后,已取消,已完成
     */
    private String zt;


    /**
     * 店铺名称
     */
    @TableField(exist = false)
    private String storeName;

    /**
     * 订单详情
     */
    @TableField(exist = false)
    private List<OrderDetail> orderDetails;

    /**
     * 获取主键值
     *
     * @return 主键值
     */
    @Override
    protected Serializable pkVal() {
        return this.lsh;
    }

}